1. Field of the Invention
The present invention relates to code division, multiple-access (CDMA) telecommunication systems, and, more particularly, to a sequence generator for generating orthogonal sequences in a CDMA transceiver.
2. Description of the Related Art
Several code division, multiple-access (CDMA) standards have been proposed. One such standard is the IS-95 standard adopted for cellular telephony. As with many CDMA systems, an IS-95 CDMA system employs (a) a pilot channel for system timing and base station identification and (b) one or more data channels (also known as message channels) for transmitting data between a base station and various remote units (also referred to herein as users) communicating with the base station.
FIG. 1 shows a block diagram of a portion of a transmitter 100 that is implemented in each base station and each user in an IS-95 CDMA system. Combiner 103 combines a stream of data, generated by data processor 101, with an assigned pseudo-noise (PN) code sequence, generated by PN code generator 102, to spread the frequency of the data stream over a particular frequency range. Combiner 105 then combines the frequency-spread data stream, generated by combiner 103, with an orthogonal sequence, generated by orthogonal sequence generator 104, to generate a channel signal for transmission. The intended receiver of the resulting transmitted channel signal has analogous combiners that reverse the processing of transmitter 100 to recover the original data stream from the received channel signal. Assigning different orthogonal sequences to different channels (including the pilot channel) allows multiple channel signals to be transmitted over a single frequency range, where each receiver can recover any of the original data streams using the assigned PN code sequence and the appropriate corresponding orthogonal sequence.
IS-95 CDMA systems use particular sets of orthogonal sequences called Hadamard sequences. A set of Hadamard sequences corresponds to the rows of a Walsh-Hadamard matrix, which can be generated using the recursive relation of Equation (1) as follows:                               W                      2            ⁢            n                          =                  [                                                                      W                  n                                                                              W                  n                                                                                                      W                  n                                                                                                  W                    n                                    _                                                              ]                                    (        1        )            
where n is an integer greater than zero, each element of matrix {overscore (Wn)} is the logical negation of the corresponding element of matrix Wn, and W1=[0]. The elements of a Walsh-Hadamard matrix are logical xe2x80x9c1xe2x80x9ds and xe2x80x9c0xe2x80x9ds, where the logical negation of a xe2x80x9c1xe2x80x9d is xe2x80x9c0xe2x80x9d, and the logical negation of a xe2x80x9c0xe2x80x9d is xe2x80x9c1xe2x80x9d. The orthogonal sequences used by the transmitters and receivers in a typical IS-95 CDMA system are the 64-bit Hadamard sequences corresponding to the 64 rows of the 64-by-64 Walsh-Hadamard matrix generated using Equation (1).
FIG. 2 shows a typical circuit 200 for generating Hadamard sequences during real-time signal processing in a transmitter or receiver of an IS-95 CDMA system. Circuit 200 may be used to implement orthogonal sequence generator 104 of transmitter 100 of FIG. 1. In a typical IS-95 CDMA system, the 64 different 64-bit Hadamard sequences are stored in read-only memory (ROM) 202 as a 4 Kbit (i.e., 64*64 bits) lookup table, where controller 201 accesses a particular Hadamard sequence in ROM 202 based on a predetermined addressing scheme for the lookup table. In alternative implementations of orthogonal sequence generator 104, the Hadamard sequences may be generated (1) using a software program executed in, for example, a digital signal processor (DSP) or (2) in hardware, for example, by an application specific integrated circuit (ASIC). In either case, the Hadamard sequences may be generated by implementing in real time the recursive Walsh-Hadamard matrix relationship given in Equation (1).
Plans are currently underway for CDMA systems, such as the so-called wideband CDMA systems, that are based on larger and larger Hadamard sequences in order to allow a greater and greater number of channel signals to be transmitted simultaneously over the same frequency range. For example, CDMA systems are currently being designed based on 256-bit and even 512-bit Hadamard sequences. In sequence generators based on implementations such as circuit 200 of FIG. 2, the memory required to store the corresponding lookup tables of Hadamard sequences may be prohibitively large (i.e., 64 Kbits for the 256 different 256-bit Hadamard sequences and 256 Kbits for the 512 different 512-bit Hadamard sequences). Similarly, in software and hardware implementations that rely on the real-time generation of the Walsh-Hadamard matrix, the processing required to generate these larger sequences may be prohibitively expensive in terms of cost, power, circuit layout area, and/or time.
The present invention relates to an efficient technique for generating Hadamard sequences, that can be implemented using (1) less memory space than that required for an corresponding implementation that relies on a lookup table containing all of the Hadamard sequences and (2) simpler processing than that required for a corresponding software or hardware implementation that relies on real-time generation of the corresponding Walsh-Hadamard matrix. According to embodiments of the invention, the set of Hadamard sequences are decomposed into a smaller set of basis vectors that can be combined in real time to generate any of the original Hadamard sequences. The memory needed to store the smaller set of basis vectors is less than that required to store the corresponding entire lookup table of Hadamard sequences, and the processing needed to generate any of the Hadamard sequences using the basis vectors is simpler than that required to generate the corresponding Walsh-Hadamard matrix in real time.
According to one embodiment, the present invention is processes a communications signal by providing a set of n basis vectors corresponding to a set of m sequences, n being less than m, and a set of coefficients corresponding to a selected sequence of the m sequences. The selected sequence is generated using the set of n basis vector and the set of coefficients and the communications signal is then processed using the selected sequence.